using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using Cuahsi.Data.Interop.WaterML2.om_20;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmd;

namespace Cuahsi.Data.Interop.WaterML2.sf
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [Serializable()]
    [DebuggerStepThrough()]
    [DesignerCategory("code")]
    [XmlType(Namespace = "http://www.opengis.net/samplingSpatial/2.0")]
    [XmlRoot("SF_SpatialSamplingFeature", Namespace = "http://www.opengis.net/samplingSpatial/2.0", IsNullable = false)]
    [DataContract(Name = "SF_SpatialSamplingFeatureType", Namespace = "http://www.opengis.net/samplingSpatial/2.0")]
    public partial class SF_SpatialSamplingFeatureType : SF_SamplingFeatureType
    {

        private List<OM_ProcessPropertyType> hostedProcedureField;

        private List<DQ_PositionalAccuracy_PropertyType> positionalAccuracyField;

        private shapeType shapeField;

        public SF_SpatialSamplingFeatureType()
        {
            this.shapeField = new shapeType();
            this.positionalAccuracyField = new List<DQ_PositionalAccuracy_PropertyType>();
            this.hostedProcedureField = new List<OM_ProcessPropertyType>();
        }

        [XmlElement("hostedProcedure", Order = 0)]
        [DataMember()]
        public List<OM_ProcessPropertyType> hostedProcedure
        {
            get
            {
                return this.hostedProcedureField;
            }
        }

        [XmlElement("positionalAccuracy", Order = 1)]
        [DataMember()]
        public List<DQ_PositionalAccuracy_PropertyType> positionalAccuracy
        {
            get
            {
                return this.positionalAccuracyField;
            }
        }

        [XmlElement(Order = 2)]
        [DataMember()]
        public shapeType shape
        {
            get
            {
                return this.shapeField;
            }
            set
            {
                this.shapeField = value;
            }
        }
    }
}